package week1;

import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.Comparator;

public
class Demo1 {
    public static
    void main(String[] args) {
//        Class c=String.class;
//        Method[] m=c.getDeclaredMethods();
//        Comparator<Method> ms=(o1,o2)-> o1.getName().compareTo(o2.getName());
//        Arrays.sort(m,ms);
//        String[] str=new String[m.length];
//        int i=0;
//        for (Method method:m){
//            str[i++]=method.getName();
//        }
//        System.out.println("方法数："+i);
//        Arrays.sort(str);
//        for (int x=0;x< 5;x++){
//           String y=str[x];
//            System.out.println(y);
//            System.out.println(m[x].getName());
//        }
//        String s=" ";
//        System.out.println(s.hashCode());
        //类型转换异常
//        Object o=new Object();
//        String s=(String)o;
        char aa='\u1558';
        System.out.println(aa);
        int n=10;
        System.out.println(aa(n));
        System.out.println(aa2(n));
        Object c=new Object();
        String s=(String)  c;

    }
    public static int aa(int n){
        if(n<=0){
            return 0;
        }
        int[] arr=new int[n+1];
        arr[0]=1;

        for(int i=1;i<=n;i++){
            if(i==1){
                arr[i]=arr[i-1];
            }
            else if(i==2){
                arr[i]=arr[i-1]+arr[i-2];
            }else{
                arr[i]=arr[i-1]+arr[i-2]+arr[i-3];
            }
        }
        return arr[n];
    }
//-- 递归
    public static int aa2(int n){
        if(n<=0){
            return 0;
        }
        if(n==1){
            return 1;
        }
        if(n==2){
            return 2;
        }
        return aa(n-1)+aa(n-2)+aa(n-3);
    }


}
